<?php
/**
 * Created by PhpStorm.
 * User: yulin
 * Date: 2018-7-14
 * Time: 14:46
 */

namespace app\open\controller;
use app\open\model;
use app\open\validate\FinanceValidate;
/**
 * @name【财务相关】
 * @baseurl【open/Finance】
 * @file【Finance.php】
 */
class Finance extends Base
{
    /**
     * @name【1.1充值记录列表】
     * @desc【充值记录列表】
     * @method【post】
     * @table【p_company_recharge】
     * @group【Finance】
     * @param【
     * fields $ string $ * $ 读取字段名称 #
     * where_json $ json $  $ 查询条件 #
     * page $ int $ 1 $ 页数 #
     * pagenum $ int $ 10 $记录数
     * 】
     * @return【
     * code $ int $ number|1-1 $ 标识1-成功 0-失败#
     * msg $ string $  $ code=0，错误信息#
     * count $ int $ 100 $ 结果总数 #
     * list $ json $ $ 结果列表 #
     * description $ json $ $ 接口说明
     * 】
     * @author 【yulin<570214321@qq.com>】
     */
    public function companyRechargeList(){

        $report    = new FinanceValidate();
        $param     = $report->scene('list')->getCurrentData();
        $report->goCheck($param);
        $where     = json_decode($param['where_json'],true);
        $data['data'] = (new model\CompanyRecharge())
            ->alias('a')
            ->join('company b','a.company_id=b.company_id')
            ->where($where)
            ->page($param['page'],$param['pagenum'])
            ->order('company_recharge_id', 'desc')
            ->field('company_recharge_id,a.company_id,number,date,type,a.state,recharge_no,company_name')
            ->select();
//        foreach ($data['data'] as $key => $val) {
//                $Company = (new model\CompanyRecharge())::get($data['data'][$key]['company_recharge_id'],'Company');
//            $data['data'][$key]['company_name'] = $Company->company_name;
//        }
        $data['count'] = (new model\CompanyRecharge())
            ->alias('a')
            ->join('company b','a.company_id=b.company_id')
            ->where($where)
            ->order('company_recharge_id', 'desc')
            ->field('company_recharge_id,a.company_id,number,date,type,a.state,recharge_no,company_name')
            ->count();

        return $this->res($data);
    }

    /**
     * @name【2.1额度变化记录】
     * @desc【额度变化记录】
     * @method【post】
     * @table【p_company_log】
     * @group【Finance】
     * @param【
     * company_id $ int $ 256 $ 公司ID #
     * 】
     * @return【
     * code $ int $ number|1-1 $ 标识1-成功 0-失败#
     * msg $ string $  $ code=0，错误信息#
     * count $ int $ 100 $ 结果总数 #
     * list $ json $ $ 结果列表 #
     * description $ json $ $ 接口说明#
     * is_use $ int $ 100 $ 已用额度 #
     * no_use $ int $ 100 $ 未用额度 #
     * 】
     * @author 【yulin<570214321@qq.com>】
     */
    public function companyLog(){

        $report    = new FinanceValidate();
        $param     = $report->scene('companyLog')->getCurrentData();
        $report->goCheck($param);
        $data['data'] = (new model\CompanyLog())
            ->where('company_id',$param['company_id'])
            ->select();
        $data['count'] = count($data['data']);

        $company_return = (new model\Company())
            ->where('company_id',$param['company_id'])
            ->find();
        $quota = $company_return['quota'];
        $is_use = $company_return['used_quota'];

        $data['is_use'] = $is_use;
        $data['no_use'] = $quota - $data['is_use'];

        return $this->res($data);
    }
}